Users of modern telecommunications systems demand reliable and efficient multimedia communication across networks of varying quality and bandwidth. For example, during a Voice Over Internet Protocol (VOIP) connection, users expect a low-latency, high fidelity interaction satisfying their personal preferences. Factors such as the selection of the audio and/or video codecs by the system, the manner in which VOIP communications traverse the network, and the handling of ancillary features, such as “comfort noise,” may all impact the end user experience. Comfort noise is synthetically generated background noise used in digital communications to replace silence. Orchestrating these various factors to achieve a suitable user experience may be beyond the capabilities of the user and/or manufacturers of devices that are presently used in these telecommunications systems.
VOIP systems employ session control and signaling protocols to control the signaling, set-up, and tear-down of calls. These protocols may specify different codecs to achieve different functions and levels of quality. Unfortunately, this protocol and codec diversity may not serve to maintain quality across disparate geographic regions and telecommunication systems. Networks grow and contract dynamically and configurations suitable for conditions at one time and place may be unsuitable at another time and place. This may be particularly true for long distance traffic, where the number of variables increases.
A receiving VOIP device re-sequences IP packets that arrive out of order and compensates for packets arriving too late or not at all. Rapid and unpredictable changes in queue lengths may result along a given Internet path due to competition from other users for the same transmission links. Consequently, a static VOIP protocol and system may fail to adapt sufficiently within a desired interval or may fail to adapt at all. Systems and methods to address bottlenecks and unforeseeable contingencies are desired to improve the VOIP experience.
While the flow and sequence diagrams presented herein show an organization designed to make them more comprehensible by a human reader, those skilled in the art will appreciate that actual data structures used to store this information may differ from what is shown, in that they, for example, may be organized in a different manner; may contain more or less information than shown; may be compressed and/or encrypted; etc.
The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the claimed embodiments. Further, the drawings have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be expanded or reduced to help improve the understanding of the embodiments. Similarly, some components and/or operations may be separated into different blocks or combined into a single block for the purposes of discussion of some of the embodiments. Moreover, while the various embodiments are amenable to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail below. The intention, however, is not to limit the particular embodiments described. On the contrary, the embodiments are intended to cover all modifications, equivalents, and alternatives falling within the scope of the disclosed embodiments as defined by the appended claims.